home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 8: LINUX Games / Linux Cubed Series 8 - LINUX Games.iso / games / muds / lpmud312.tar / lpmud312 / README.3.0 < prev    next >
Text File  |  1991-11-16  |  2KB  |  64 lines

  1. If you are using 3.0 with an old mudlib (2.4.5 and older), then read
  2. the file COMPAT for compatibility information.
  3.  
  4. Read the file INSTALL for information about how to install the game.
  5.  
  6. Mail bugs or info about problems to lars@cd.chalmers.se.
  7.  
  8.  
  9.  
  10. Here is some information about 3.0:
  11.  
  12. Flags accepted by debug:
  13.  
  14. -c    Print to stdout every time a file is compiled.
  15.  
  16. -d    Debug information. Prints nothing interesting.
  17.  
  18. -e    Start without loading any wizard file.
  19.  
  20. -f'arg' Send 'arg' as argument to function 'flag()' in obj/master.c.
  21.  
  22. -m'dir' Specify 'dir' as the directory to use as mudlib.
  23.  
  24. -t    Don't call any heart beats. Makes it easier to debug.
  25.  
  26. -s'sec'    Delay in seconds before swap
  27.  
  28.  
  29. If you debug 3.0 internals:
  30.  
  31. Read the file STACKMACHINE for some
  32. information about how it works. To debug instruction execution, you have to
  33. single step execution in the function eval_instruction(). The value on top
  34. of stack can be accessed by 'sp[0]'. The value before that, is 'sp[-1]' etc.
  35.  
  36. The first argument to a function is found at 'fp[0]'. The next at 'fp[1]'.
  37. The local arguments follows immediately after the arguments. If there are
  38. 3 arguments to a function, then the first local variable will be found
  39. with 'fp[3]'.
  40.  
  41. The function last_instructions(), will print out the 20 (or so) last executed
  42. instructions. It is now called automatically at fatal error.
  43.  
  44. There is a variable 'current_object'. This is the object that is given
  45. by 'this_object()'. The variable 'current_prog', is a pointer to
  46. the program current being executed. This is normally the same as
  47. 'current_object->prog->program', but can differ when executing code
  48. defined by inheritance.
  49.  
  50. The structure 'struct program' (pointed to by ob->prog) defines program
  51. information for object 'ob'. It can be shared by several objects (when
  52. cloned and inherited).
  53.  
  54. Inheritance by 'a' from 'b' is implemented by copying info from 'b->prog'
  55. into 'a->prog'. All functions and variables, for example.
  56.  
  57. There are a lot of comments in the source code. For information
  58. about the stackmachine, read lang.y and interpret.c.
  59.  
  60.  
  61. I am also working on better type checkings and requirements.
  62.  
  63. My mailing address is lars@cd.chalmers.se
  64.